package org.dromara.system.domain.bo;

import org.dromara.system.domain.SysApp;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

/**
 * 应用业务对象 sys_app
 *
 * @author X
 * @date 2025-08-04
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysApp.class, reverseConvertGenerate = false)
public class SysAppBo extends BaseEntity {

    /**
     * 应用ID
     */
    @NotNull(message = "应用ID不能为空", groups = { EditGroup.class })
    private Long appId;

    /**
     * 应用代码
     */
    private String appCode;

    /**
     * 应用名称
     */
    private String appName;

    /**
     * 应用登陆图标
     */
    private String appLoginlogourl;

    /**
     * 登陆显示图
     */
    private String appLoginpic;

    /**
     * 登陆背景图1
     */
    private String appLoginbgpic1;

    /**
     * 登陆背景图2
     */
    private String appLoginbgpic2;

    /**
     * 登陆背景图3
     */
    private String appLoginbgpic3;

    /**
     * 登陆背景图4
     */
    private String appLoginbgpic4;

    /**
     * 登陆背景图5
     */
    private String appLoginbgpic5;

    /**
     * 应用图标
     */
    private String appLogourl;

    /**
     * 应用图标ico
     */
    private String appLogoicourl;

    /**
     * 应用版权
     */
    private String copyright;

    /**
     * 应用域名
     */
    private String domain;

    /**
     * 备案号
     */
    private String beian;

    /**
     * 应用描述
     */
    private String description;

    /**
     * 首页
     */
    private String indexpage;

    /**
     * 主界面
     */
    private String mainpage;

    /**
     * 关键词
     */
    private String keywords;

    /**
     * 搜索关键字
     */
    private String searchkeywords;

    /**
     * 帮助URL
     */
    private String helpurl;

    /**
     * 会话URL
     */
    private String pushrul;

    /**
     * 应用树标志
     */
    private String appTypecode;

    /**
     * 应用层级
     */
    private Long appLevel;


}
